<?php

namespace App\Jobs\Content;

use App\Enums\ContentNameEnum;
use App\Jobs\Job;
use Carbon\Carbon;

class GroupMessageJob extends Job
{
    protected $data;

    public function __construct($data = [])
    {
        // 构建需要推送到队列的数据内容
//        $this->data = [
//            'app_id' => env('CONTENT_APP_ID'),
//            'group_id' => $data['group_id'],
//            'user_id' => $data['user_id'],
//            // app.ln_group_message 表 id
//            'key_id' => $data['key_id'],
//            // 群消息类型 GroupEnum.MESSAGE_TYPE_*
//            'message_type' => $data['message_type'],
//            // 消息内容 文字/图片/音频/视频
//            'content' => $data['content'],
//            'picture' => $data['picture'],
//            'voice' => $data['voice'],
//            'video' => $data['video'],
//            // 推送时间
//            'add_time' => Carbon::now()->timestamp,
//        ];

        $this->data = [
            // 原始数据表(group_message)的主键的值
            'key_id' => $data['key_id'] ?? 0,
            'app_id' => env('CONTENT_APP_ID'),
            'user_id' => $data['user_id'] ?? 0,
            // 群 id
            'group_id' => $data['group_id'] ?? 0,
            // 内容渠道,如 昵称/个性签名
            'content_name' => $data['content_name'] ?? ContentNameEnum::GROUP_MESSAGE,
            // 内容类型,如 文本/图片/音频/视频 群消息全部默认为文字
            'content_type' => $data['content_type'] ?? 1,
            // 机审结果
            'machine_result' => $data['machine_result'] ?? '',
            // 审核前内容,如果审核失败需要还原成此内容
            'content_origin' => $data['content_origin'] ?? '',
            // 群消息文字内容、图片、视频、语音
            'content' => $data['content'] ?? '',
            'pictures' => $data['pictures'] ?? '',
            'videos' => $data['videos'] ?? '',
            'voices' => $data['voices'] ?? '',
            'add_time' => Carbon::now()->timestamp,
        ];
    }
}